package a.f.n;

import a.a.kb;
import a.c.a;
import a.c.ab;
import a.c.d;
import a.c.e;
import a.c.m;
import a.c.q;
import a.c.v;
import a.c.x;
import a.c.y;
import a.c.z;
import a.d.s;
import a.d.t;
import a.f.*;
import a.f.o;
import a.i.l;

import java.util.Comparator;

import a.d.t;
import a.d.s;

public class c
  extends mb
{
  private static final double w = 1.E-005D;
  public static final byte x = 0;
  public static final byte y = 1;
  public static final byte z = 0;
  public static final byte A = 1;
  public static final byte B = 2;
  private static double C = 1000.0D;
  private double D = 340.0D;
  private double E = 360.0D;
  private double F = 40.0D;
  private boolean G = false;
  private double H = 0.5D;
  private byte I = 0;
  private boolean J = false;
  private int K = 0;
  private x L;
  private byte M = 0;
  private boolean N;
  private d_[] O;
  protected o P;
  private Comparator Q;
  private x R;
  public static boolean S;
  
  public c()
  {
    vc localvc = g();
    if ((k.n) || ((localvc instanceof a.f.c.c))) {
      ((a.f.c.c)localvc).a(false);
    }
  }
  
  public Comparator a()
  {
    return this.Q;
  }
  
  public void a(Comparator paramComparator)
  {
    this.Q = paramComparator;
  }
  
  public byte s()
  {
    return this.M;
  }
  
  public void b(byte paramByte)
  {
    this.M = paramByte;
  }
  
  public int t()
  {
    return this.K;
  }
  
  public void a(int paramInt)
  {
    this.K = paramInt;
  }
  
  public boolean u()
  {
    return this.J;
  }
  
  public void h(boolean paramBoolean)
  {
    this.J = paramBoolean;
  }
  
  public void c(byte paramByte)
  {
    this.I = paramByte;
  }
  
  public byte v()
  {
    return this.I;
  }
  
  public void b(int paramInt)
  {
    boolean bool = k.n;
    if (!bool) {
      if (paramInt < 1)
      {
        paramInt = 1;
        if (bool) {
          return;
        }
      }
    }
    if ((k.m) && ((bool) || (paramInt > 359))) {
      paramInt = 359;
    }
    this.D = paramInt;
  }
  
  public void c(int paramInt)
  {
    boolean bool = k.n;
    if (!bool) {
      if (paramInt < 1)
      {
        paramInt = 1;
        if (bool) {
          return;
        }
      }
    }
    if ((k.m) && ((bool) || (paramInt > 359))) {
      paramInt = 359;
    }
    this.E = paramInt;
  }
  
  public int w()
  {
    return (int)this.E;
  }
  
  public int x()
  {
    return (int)this.D;
  }
  
  public void i(boolean paramBoolean)
  {
    this.G = paramBoolean;
  }
  
  public boolean y()
  {
    return this.G;
  }
  
  public void a(double paramDouble)
  {
    boolean bool = k.n;
    if (!bool) {
      if (paramDouble <= 0.0D) {
        paramDouble = 0.05D;
      }
    }
    if ((bool) || (paramDouble > 1.0D)) {
      paramDouble = 1.0D;
    }
    this.H = paramDouble;
  }
  
  public double z()
  {
    return this.H;
  }
  
  public void d(int paramInt)
  {
    this.F = paramInt;
  }
  
  public int A()
  {
    return (int)this.F;
  }
  
  public boolean B()
  {
    return this.N;
  }
  
  public void j(boolean paramBoolean)
  {
    this.N = paramBoolean;
  }
  
  public void a(o paramo)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    if (!bool2)
    {
      if (!kb.e(paramo)) {
        throw new a("Graph is not a tree");
      }
      this.P = paramo;
      this.L = paramo.B();
      if (bool2) {}
    }
    else if (B())
    {
      e(paramo);
    }
    e locale1 = C();
    ab localab = kb.a(paramo, locale1);
    a(locale1, this.L);
    wc.a(paramo);
    this.O = new d_[paramo.k()];
    Object localObject = paramo.v();
    do
    {
      if (!((a.c.w)localObject).e()) {
        break;
      }
      e locale2 = ((a.c.w)localObject).d();
      if (bool2) {
        break label244;
      }
      if (bool1) {
        break label240;
      }
      if (locale2 != locale1)
      {
        a(locale2, new d_(this.F + m(locale2.p().d())));
        if (bool2) {
          continue;
        }
        if (!bool1) {}
      }
      else
      {
        a(locale2, new d_(Math.max(this.F, this.K)));
      }
      ((a.c.w)localObject).f();
    } while (!bool1);
    k(locale1);
    paramo.a(locale1, 0.0D, 0.0D);
    if (!bool2) {
      l(locale1);
    }
    label240:
    label244:
    if (!bool2) {
      if (B()) {
        f(paramo);
      }
    }
    do
    {
      if (localab.isEmpty()) {
        break;
      }
      localObject = localab.o();
      paramo.e((d)localObject);
      if ((!bool2) && (bool1)) {
        return;
      }
    } while (!bool1);
    if (!bool2) {
      paramo.a(this.L);
    }
  }
  
  private void e(o paramo)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    this.R = paramo.B();
    a.c.w localw = paramo.v();
    label123:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      t localt = paramo.v(locale);
      xc[] arrayOfxc = paramo.f(locale);
      int i = 0;
      do
      {
        if (i >= arrayOfxc.length) {
          break;
        }
        xc localxc = arrayOfxc[i];
        localt = a(localt, localxc.c());
        i++;
        if ((!bool2) && (bool1)) {
          break label123;
        }
      } while (!bool1);
      if (!bool2) {
        this.R.a(locale, paramo.u(locale));
      }
      a.d.w localw1 = paramo.o(locale);
      double d1 = Math.floor(Math.max(localw1.a() - localt.d(), localt.d() + localt.b() - localw1.a()) + 1.E-005D);
      double d2 = Math.floor(Math.max(localw1.b() - localt.e(), localt.e() + localt.c() - localw1.b()) + 1.E-005D);
      paramo.b(locale, 2.0D * d1, 2.0D * d2);
      paramo.a(locale, localw1);
      localw.f();
    } while (!bool1);
  }
  
  private void f(o paramo)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    a.c.w localw = paramo.v();
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      a.d.w localw1 = paramo.o(locale);
      paramo.a(locale, (s)this.R.get(locale));
      paramo.a(locale, localw1);
      localw.f();
      if ((!bool2) && (bool1)) {
        return;
      }
    } while (!bool1);
    if (!bool2) {
      paramo.a(this.R);
    }
  }
  
  private static t a(t paramt1, t paramt2)
  {
    boolean bool = k.n;
    if (!bool) {
      if (paramt1 != null)
      {
        if (bool) {
          break label39;
        }
        if (paramt2 != null) {
          break label38;
        }
      }
    }
    if (!bool) {}
    return paramt1 == null ? paramt2 : paramt1;
    label38:
    label39:
    double d1 = Math.min(paramt1.d(), paramt2.d());
    double d2 = Math.max(paramt1.d() + paramt1.b(), paramt2.d() + paramt2.b());
    double d3 = Math.min(paramt1.e(), paramt2.e());
    double d4 = Math.max(paramt1.e() + paramt1.c(), paramt2.e() + paramt2.c());
    return new t(d1, d3, d2 - d1, d4 - d3);
  }
  
  private double a(e parame, x paramx)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    double d = this.P.s(parame) * this.P.t(parame);
    d locald = parame.h();
    do
    {
      if (locald == null) {
        break;
      }
      e locale = locald.f();
      if (bool2) {
        break label92;
      }
      d += a(locale, paramx);
      locald = locald.i();
      if (bool1) {
        return d;
      }
    } while (!bool1);
    if (!bool2) {
      paramx.a(parame, d);
    }
    label92:
    return d;
  }
  
  public boolean b(o paramo)
  {
    return kb.e(paramo);
  }
  
  protected d_ a(e parame)
  {
    return this.O[parame.f()];
  }
  
  protected e C()
  {
    if (!k.n) {
      switch (this.I)
      {
      case 2: 
        return kb.j(this.P);
      case 1: 
        return kb.g(this.P);
      }
    }
    return kb.h(this.P);
  }
  
  protected void b(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    double d2;
    label34:
    label36:
    label105:
    double d3;
    do
    {
      double d1;
      do
      {
        d1 = g(parame);
        break label34;
        break label36;
        d2 = h(parame);
        do
        {
          do
          {
            if (d2 <= d1) {
              break label105;
            }
            a.c.w localw = parame.q();
            if (!localw.e()) {
              break;
            }
            e locale = localw.d();
            localObject = a(locale);
            a(locale).e *= (1.0D + this.H);
            localw.f();
          } while (bool2);
        } while (bool1);
      } while (!bool1);
      d3 = (d1 - d2) / (2 * parame.e());
      d2 = 0.0D;
    } while (bool2);
    Object localObject = parame.q();
    if (((a.c.w)localObject).e()) {}
    while (bool2)
    {
      d_ locald_ = a(((a.c.w)localObject).d());
      locald_.b += d3;
      locald_.c += d3;
      d2 += locald_.b + locald_.c;
      ((a.c.w)localObject).f();
      if ((!bool2) && (bool1)) {
        return;
      }
      if (!bool1) {
        break;
      }
    }
    c(parame);
  }
  
  protected void c(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    if (!bool2) {
      if (this.J)
      {
        if (bool2) {
          break label33;
        }
        d(parame);
        if (!bool1) {
          return;
        }
      }
    }
    label33:
    if (!bool2) {
      if (this.Q != null)
      {
        parame.b(this.Q);
        if (bool2) {
          break label67;
        }
        if (!bool1) {
          return;
        }
      }
    }
    if (!bool2) {
      if (this.M == 0)
      {
        label67:
        if (bool2) {
          break label85;
        }
        e(parame);
        if (!bool1) {
          return;
        }
      }
    }
    label85:
    f(parame);
  }
  
  static double a(a.d.w paramw1, a.d.w paramw2)
  {
    double d1 = paramw2.a - paramw1.a;
    double d2 = paramw2.b - paramw1.b;
    return Math.atan2(d2, d1);
  }
  
  private void d(e parame)
  {
    o localo = (o)parame.g();
    a.d.w localw1 = localo.o(parame);
    a.d.w localw2 = parame.d() > 0 ? localo.o(parame.i().e()) : null;
    if (!k.n) {}
    double d = localw2 == null ? 3.141592653589793D : a(localw1, localw2);
    Comparator local0 = new Comparator()
    {
      private final o val$graph;
      private final a.d.w val$cp;
      private final double val$rootAngle;
      
      public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
      {
        boolean bool = k.n;
        a.d.w localw1 = this.val$graph.o(((d)paramAnonymousObject1).f());
        a.d.w localw2 = this.val$graph.o(((d)paramAnonymousObject2).f());
        double d1 = c.a(this.val$cp, localw1);
        if (!bool) {
          if (d1 < this.val$rootAngle) {
            d1 += 6.283185307179586D;
          }
        }
        double d2 = c.a(this.val$cp, localw2);
        if (!bool) {
          if (d2 < this.val$rootAngle) {
            d2 += 6.283185307179586D;
          }
        }
        if (!bool) {}
        if (!bool) {}
        return d1 > d2 ? -1 : d1 < d2 ? 1 : 0;
      }
    };
    parame.b(local0);
  }
  
  private void e(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    d[] arrayOfd = new d[parame.e()];
    int i = 0;
    m localm = parame.n();
    if (localm.e()) {}
    while (bool2)
    {
      arrayOfd[i] = localm.a();
      localm.f();
      i++;
      if (bool2) {
        break label89;
      }
      if (bool1) {
        break label88;
      }
      if (!bool1) {
        break;
      }
    }
    l.a(arrayOfd, new c_());
    label88:
    label89:
    int j = 0;
    do
    {
      do
      {
        if (j >= arrayOfd.length) {
          break;
        }
        this.P.f(arrayOfd[j]);
        j++;
        if (bool2) {
          break label137;
        }
        if (bool1) {
          break label135;
        }
      } while (!bool1);
    } while (bool2);
    j = 0;
    label135:
    label137:
    do
    {
      if (j >= arrayOfd.length) {
        break;
      }
      int k = arrayOfd.length - 1 - j;
      if (!bool2)
      {
        if (k < j) {
          break;
        }
        this.P.g(arrayOfd[j]);
        if (bool2) {}
      }
      else
      {
        if (k == j) {
          break;
        }
        this.P.g(arrayOfd[k]);
        j++;
      }
    } while (!bool1);
  }
  
  private void f(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    d[] arrayOfd = new d[parame.e()];
    int i = 0;
    m localm = parame.n();
    if (localm.e()) {}
    while (bool2)
    {
      arrayOfd[i] = localm.a();
      localm.f();
      i++;
      if (bool2) {
        break label89;
      }
      if (bool1) {
        break label88;
      }
      if (!bool1) {
        break;
      }
    }
    l.a(arrayOfd, new b_());
    label88:
    label89:
    int j = 0;
    do
    {
      do
      {
        if (j >= arrayOfd.length) {
          break;
        }
        this.P.f(arrayOfd[j]);
        j++;
        if (bool2) {
          break label137;
        }
        if (bool1) {
          break label135;
        }
      } while (!bool1);
    } while (bool2);
    j = 0;
    label135:
    label137:
    do
    {
      do
      {
        if (j >= arrayOfd.length) {
          break;
        }
        this.P.g(arrayOfd[j]);
        j += 2;
        if (bool2) {
          break label184;
        }
        if (bool1) {
          break label181;
        }
      } while (!bool1);
    } while (bool2);
    i = arrayOfd.length - 1;
    label181:
    label184:
    if (!bool2) {
      if (i % 2 == 0) {
        i--;
      }
    }
    do
    {
      while (!bool1)
      {
        if (i <= 0) {
          break;
        }
        this.P.g(arrayOfd[i]);
        i -= 2;
      }
    } while (bool2);
  }
  
  protected double g(e parame)
  {
    if (!k.n) {
      if (parame.d() == 0) {
        return this.E;
      }
    }
    if (parame.e() == 2) {
      return Math.min(180.0D, this.D);
    }
    return this.D;
  }
  
  protected double h(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    double d1 = 0.0D;
    double d2 = m(parame);
    m localm = parame.n();
    label240:
    label248:
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald = localm.a();
      e locale = locald.f();
      d_ locald_ = a(locale);
      double d3 = -locald_.e;
      double d4 = locald_.g;
      z localz = locald_.a;
      double d5 = 0.0D;
      if (bool1) {
        break label445;
      }
      double d6 = d5 + 1.0D;
      v localv = localz.f();
      a.d.w localw1 = (a.d.w)localv.c();
      a.d.w localw2 = null;
      if (d6 > d5)
      {
        localw2 = localw1;
        localv = localz.f(localv);
      }
      do
      {
        localw1 = (a.d.w)localv.c();
        d5 = (localw1.b() - localw2.b()) / (localw1.a() - localw2.a());
        if (bool2) {
          break label248;
        }
        d6 = (localw2.b() - d4) / (localw2.a() - d3);
        if (bool1) {
          break label240;
        }
        if (!bool1) {
          break;
        }
        locald_.b = (-a.d.k.b(Math.atan(d6)));
        d5 = 0.0D;
        d6 = d5 - 1.0D;
      } while (bool2);
      localv = localz.f();
      localw1 = (a.d.w)localv.c();
      if (((a.d.w)localv.a().c()).a() == localw1.a()) {}
      while (bool2)
      {
        localv = localv.a();
        localw1 = (a.d.w)localv.c();
        if (bool2) {
          break label441;
        }
        if (bool1) {
          break label439;
        }
        if (!bool1) {
          break;
        }
      }
      if (d6 < d5)
      {
        localw2 = localw1;
        localv = localz.e(localv);
      }
      do
      {
        localw1 = (a.d.w)localv.c();
        d5 = (localw1.b() - localw2.b()) / (localw1.a() - localw2.a());
        d6 = (localw2.b() - d4) / (localw2.a() - d3);
        if (bool2) {
          break label441;
        }
        if (bool1) {
          break label439;
        }
        if (!bool1) {
          break;
        }
        locald_.c = a.d.k.b(Math.atan(d6));
        d1 += locald_.b + locald_.c;
      } while (bool2);
      localm.f();
    } while (!bool1);
    label439:
    label441:
    label445:
    return d1;
  }
  
  void a(e parame, d_ paramd_)
  {
    this.O[parame.f()] = paramd_;
  }
  
  void i(e parame)
  {
    d_ locald_ = a(parame);
    z localz = new z();
    double d = 2.0D * m(parame);
    localz.add(new a.d.w(0.0D, 0.0D));
    localz.add(new a.d.w(0.0D, d));
    localz.add(new a.d.w(d, d));
    localz.add(new a.d.w(d, 0.0D));
    locald_.a = localz;
    locald_.f = (d / 2.0D);
    locald_.g = (d / 2.0D);
  }
  
  void j(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    if (!bool2)
    {
      if (parame.e() == 0)
      {
        if (bool2) {
          break label39;
        }
        i(parame);
      }
    }
    else if (!bool1) {
      return;
    }
    label39:
    d_ locald_1 = a(parame);
    double d1 = m(parame);
    z localz1 = new z();
    localz1.add(new a.d.w(-d1, -d1));
    localz1.add(new a.d.w(-d1, d1));
    localz1.add(new a.d.w(d1, -d1));
    localz1.add(new a.d.w(d1, d1));
    Object localObject = parame.q();
    do
    {
      if (!((a.c.w)localObject).e()) {
        break;
      }
      d_ locald_2 = a(((a.c.w)localObject).d());
      localz1.a(locald_2.a);
      ((a.c.w)localObject).f();
      if ((!bool2) && (bool1)) {
        return;
      }
    } while (!bool1);
    localObject = a.d.k.a(localz1);
    double d2 = 1.7976931348623157E+308D;
    double d3 = 1.7976931348623157E+308D;
    double d4 = -1.797693134862316E+308D;
    double d5 = -1.797693134862316E+308D;
    if (!bool2)
    {
      y localy1 = ((z)localObject).h();
      do
      {
        if (!localy1.e()) {
          break;
        }
        a.d.w localw1 = (a.d.w)localy1.j();
        if (bool2) {
          break label368;
        }
        if (bool1) {
          break label367;
        }
        if (!bool2) {
          if (localw1.a() < d2) {
            d2 = localw1.a();
          }
        }
        if (!bool2) {
          if (localw1.a() > d4) {
            d4 = localw1.a();
          }
        }
        if (!bool2) {
          if (localw1.b() < d3) {
            d3 = localw1.b();
          }
        }
        if (!bool2)
        {
          if (localw1.b() > d5) {
            d5 = localw1.b();
          }
          localy1.f();
        }
      } while (!bool1);
      if (!bool2) {}
      label367:
      label368:
      double d6 = d4 - d2;
      double d7 = d5 - d3;
      z localz2 = new z();
      y localy2 = ((z)localObject).h();
      do
      {
        if (!localy2.e()) {
          break;
        }
        a.d.w localw2 = (a.d.w)localy2.j();
        localz2.add(new a.d.w(localw2.a() - d2, localw2.b() - d3));
        localy2.f();
        if ((!bool2) && (bool1)) {
          break label484;
        }
      } while (!bool1);
      locald_1.a = localz2;
      if (!bool2) {
        locald_1.f = (-d2);
      }
      label484:
      locald_1.g = (-d3);
    }
  }
  
  void k(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    if (!bool2) {
      if (parame.e() == 0)
      {
        j(parame);
        if (!bool1) {
          return;
        }
      }
    }
    a.c.w localw1 = parame.q();
    if (localw1.e()) {}
    while (bool2)
    {
      k(localw1.d());
      localw1.f();
      if ((!bool2) && (bool1)) {
        break label87;
      }
      if (!bool1) {
        break;
      }
    }
    b(parame);
    label87:
    double d1 = 0.0D;
    a.c.w localw2 = parame.q();
    label348:
    label350:
    do
    {
      if (!localw2.e()) {
        break;
      }
      e locale = localw2.d();
      d_ locald_ = a(locale);
      double d2 = 180.0D - (360.0D - g(parame)) / 2.0D - d1 - (locald_.c + locald_.d);
      d1 += locald_.a();
      d2 = a.d.k.a(d2);
      double d3 = Math.sin(d2);
      double d4 = Math.cos(d2);
      if (bool1) {
        return;
      }
      v localv = locald_.a.f();
      if (localv != null) {}
      do
      {
        a.d.w localw3 = (a.d.w)localv.c();
        double d5 = localw3.a() + locald_.e;
        double d6 = localw3.b() - locald_.g;
        a.d.w localw4 = new a.d.w(d5 * d4 - d3 * d6, d5 * d3 + d4 * d6);
        localv.a(localw4);
        localv = localv.a();
        if (bool2) {
          break label350;
        }
        if (bool1) {
          break label348;
        }
        if (!bool1) {
          break;
        }
        d5 = locald_.f + locald_.e;
        d6 = 0.0D;
        locald_.f = (d5 * d4);
        locald_.g = (d5 * d3);
      } while (bool2);
      localw2.f();
    } while (!bool1);
    if (!bool2) {
      j(parame);
    }
  }
  
  void l(e parame)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    a.d.w localw = this.P.o(parame);
    double d1 = 0.0D;
    Object localObject2;
    if (!bool2) {
      if (parame.d() > 0)
      {
        localObject1 = parame.p().d();
        localObject2 = this.P.o((e)localObject1);
        d1 = 3.141592653589793D + Math.atan2(((a.d.w)localObject2).b() - localw.b(), ((a.d.w)localObject2).a() - localw.a());
      }
    }
    Object localObject1 = parame.q();
    do
    {
      if (!((a.c.w)localObject1).e()) {
        break;
      }
      localObject2 = ((a.c.w)localObject1).d();
      d_ locald_ = a((e)localObject2);
      if (!bool2)
      {
        if (d1 != 0.0D)
        {
          double d2 = Math.cos(d1);
          double d3 = Math.sin(d1);
          double d4 = locald_.f * d2 - d3 * locald_.g;
          double d5 = locald_.f * d3 + d2 * locald_.g;
          locald_.f = d4;
          locald_.g = d5;
        }
        this.P.a((e)localObject2, localw.a() + locald_.f, localw.b() + locald_.g);
        l((e)localObject2);
        ((a.c.w)localObject1).f();
      }
    } while (!bool1);
  }
  
  double m(e parame)
  {
    if ((k.n) || (this.G)) {
      return (this.P.s(parame) + this.P.t(parame)) / 4.0D + 0.5D * this.K;
    }
    return 1.41D * (Math.max(this.P.s(parame), this.P.t(parame)) / 2.0D) + 0.5D * this.K;
  }
  
  void a(q paramq, Object paramObject, a.c.n paramn, x paramx)
  {
    boolean bool2 = k.n;
    boolean bool1 = k.m;
    a.i.n.a(paramObject);
    a.i.n.a("nodes: " + paramq.k());
    a.c.w localw = paramq.v();
    label205:
    label207:
    do
    {
      do
      {
        if (!localw.e()) {
          return;
        }
        e locale1 = localw.d();
        a.i.n.a(locale1 + " inAngle: " + paramx.get(locale1));
        m localm = locale1.n();
        do
        {
          if (!localm.e()) {
            break;
          }
          d locald = localm.a();
          e locale2 = locald.f();
          a.i.n.a(" >edge to " + locale2 + " outAngle: " + paramn.get(locald));
          localm.f();
          if (bool2) {
            break label207;
          }
          if (bool1) {
            break label205;
          }
        } while (!bool1);
      } while (bool2);
      localw.f();
    } while (!bool1);
  }
  
  class b_
    implements Comparator
  {
    b_() {}
    
    public int compare(Object paramObject1, Object paramObject2)
    {
      e locale1 = ((d)paramObject1).f();
      e locale2 = ((d)paramObject2).f();
      return l.a(c.this.a(locale1).a(), c.this.a(locale2).a());
    }
  }
  
  class c_
    implements Comparator, l.j_
  {
    c_() {}
    
    public int compare(Object paramObject1, Object paramObject2)
    {
      boolean bool = k.n;
      e locale1 = ((d)paramObject1).f();
      e locale2 = ((d)paramObject2).f();
      double d1 = c.this.L.getDouble(locale1);
      double d2 = c.this.L.getDouble(locale2);
      if (!bool) {
        if (d1 > d2 + c.C) {
          return 1;
        }
      }
      if (!bool) {
        if (d1 + c.C < d2) {
          return -1;
        }
      }
      return l.a(c.this.a(locale1).a(), c.this.a(locale2).a());
    }
  }
  
  public static class d_
  {
    z a;
    public double b;
    public double c;
    public double d;
    public double e;
    double f;
    double g;
    public static boolean h;
    
    d_(double paramDouble)
    {
      this.e = paramDouble;
      this.a = new z();
    }
    
    public double a()
    {
      return this.b + this.c + this.d;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.n.c

 * JD-Core Version:    0.7.0.1

 */